In computing, Electronic Performance Support Systems (EPSS) attempt to provide assistance to users of a computer system based on the way the user performs tasks in a software application. For instance, a user may drag an image off of a printable area of a viewable page, and, in response, the EPSS may cause a message to appear alerting the user that the picture will not be printed when printing the viewable page unless the image appears within the margin of the page. In more sophisticated implementations of an EPSS, the message may offer to move the picture back into the printable area of the page.
Traditional performance support systems have been indistinguishable from the applications in which they provide assistance. That is, the program code that causes provision of user assistance (i.e., a help message or a prompt to do something in the application) was incorporated into the program code of the application, and for use with only that particular application. In other words, the support system was compiled and/or coded into the application to which it applied.
What is needed is a more robust and dynamic support system applicable across a range of software application products without a requirement that the support system be hard-coded into each of the software application products.